home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr52
/
sh50pro.zip
/
HELPMGR.PRG
< prev
next >
Wrap
Text File
|
1993-04-08
|
5KB
|
144 lines
*==========================================================================
FUNCTION HELPMGR
* Project Name: Helpdemo
* Project Description: Superhelp Library
* Written By: Darryl Strickland
*
* Help Manager System Generated by Superhelp Codegen 5.0
* Generated August 11, 1991 - 8:43 PM
* Copyright (c) by DJS Applications
*
* Superhelp Codegen Help Manager Produced (SHELP.MGR)
* After Generating * New * Help Manager File - Delete Helpmgr.Dbf
*
* Thank you for using Superhelp Code Generator 5.0 - DJS Applications
*==========================================================================
PARAMETER cProc,nLine,cVar
LOCAL aFldnames:={"Helpmgr->DESC"},aFldhdrs:={SPACE(11)+"HELP MANAGER"}
LOCAL ahlpflds:={{"DESC", "C", 34, 0}, {"POINTER", "N", 7, 0 }}
LOCAL nRowhlp,nColhlp,lBadfile,cOldArea,cOldColor
LOCAL cInit_Box,nCurState,nMgrFile,nHlpCnt,nHlpsize
LOCAL nBurnSize,cBurnDate,cBurnTime,nMgrPt,nBoxSize
PRIVATE nHlphandle,nTopRow,nLeftCol,nBotRow,nRightCol,cHeader
PRIVATE cFooter,nHeadcol,nFootcol,cWinColor,nShadClrf,nShadClrb,cFrame,cMidBar
PRIVATE nWinType,cShadType,nBoxMethod,lIplode,lXplodeTxt,nHlpSpacer
PRIVATE cHeadColor,cFootColor,cFramColor,cTrimHdr,nFootType
PRIVATE nLoop,cHlpString,nDspMeth,nLineSize,nNoFrames,nBliMrkx,cOldScr
PRIVATE lMicroVoic,lEditRef,nPadSize,nLookPt,nTxtSize,nMWidth,nNoLines,cTrimFoot
PRIVATE nText_Cnt,nScrnSize,nStartRow,lOutLoop,nStartPt,cLstDir
PRIVATE nReadSize,lTopPage,lBotPage,nByteRead,nPrevRead,aHelpLine:={}
PRIVATE nLines,nCnt,cSpeakStr,lSpeakOk,lVoiceload
SETBLINK(.F.)
nRowhlp := ROW()
nColhlp := COL()
SET KEY 28 TO
cOldcolor := SETCOLOR()
cOldarea := SELECT()
nCurState := SETCURSOR(0)
cOldscr := SAVESCREEN(0,0,MaxRow(),MaxCol())
nBliMrkx := 13
IF !FILE("HELPMGR.DBF")
IF FILE("SHELP.MGR")
cInit_Box := SAVESCREEN(09,19,14,61)
nNoFrames := SRIGHTBX(09,20,13,60,"╓─╖║╜─╙║ ",.T.,'B/W+','B/W+','R',.T.,7,0)
@09,22 SAY "╢ Help Message ╟"
@11,22 SAY "Please wait while setting up Manager"
@13,25 SAY "╢ Superhelp Codegen 5.0 ╟"
nMgrFile := FOPEN("SHELP.MGR",2)
FSEEK(nMgrFile,0)
nHlpsize := FSEEK(nMgrFile,0,2) - 20
FSEEK(nMgrFile,0)
nHlpCnt := (nHlpsize -179) / 42
DBCREATE("HELPMGR.DBF",aHlpflds)
USE HELPMGR NEW
INDEX ON SUBSTR(HELPMGR->Desc,1,10) TO Helpmgr
SET INDEX TO HELPMGR
nMgrpt := 179
cHlpString := SPACE(42)
FOR nLoop := 1 TO nHlpCnt
FSEEK(nMgrFile,nMgrpt)
FREAD(nMgrFile,@cHlpString,42)
nMgrpt := nMgrpt + LEN(cHlpString)
APPEND BLANK
HELPMGR->DESC := SUBSTR(cHlpString,1,35)
HELPMGR->POINTER := VAL(SUBSTR(cHlpString,36))
NEXT
USE
FCLOSE(nMgrFile)
IPLODEBX(nNoFrames)
RESTSCREEN(09,19,14,61,cInit_Box)
ELSE
SRIGHTBX(09,20,13,60,"╓─╖║╜─╙║ ",.F.,'B/W+','B/W+','R',.T.,7,0)
@09,22 SAY "╢ Help Error ╟"
@10,22 SAY "Please restore SHELP.MGR from disk"
@13,25 SAY "╢ Superhelp Codegen 5.0 ╟"
INKEY(10)
SETCOLOR(cOldcolor)
SET KEY 28 TO HELP
@nRowhlp,nColhlp SAY ""
RESTSCREEN(0,0,MaxRow(),MaxCol(),cOldscr)
RETURN NIL
ENDIF
ENDIF
IF FILE("helpmgr.dbf")
lBadfile := .F.
IF FILE("SHELP.REF")
nHlphandle := FOPEN("SHELP.REF",2)
nHlpsize := FSEEK(nHlphandle,0,2)
nHlpCnt := (nHlpsize -179) / 41
FSEEK(nHlphandle,-20,2)
nBurnSize := SPACE(7)
cBurnDate := SPACE(8)
cBurnTime := SPACE(5)
FREAD(nHlphandle,@nBurnSize,7)
FREAD(nHlphandle,@cBurnDate,8)
FREAD(nHlphandle,@cBurnTime,5)
FSEEK(nHlphandle,0)
IF nHlpsize <> VAL(nBurnSize) .OR. '08/11/91' <> cBurnDate .OR. '20:42' <> cBurnTime
lBadfile := .T.
ENDIF
ELSE
lBadfile := .T.
ENDIF
IF lBadfile
SRIGHTBX(09,20,13,60,"╓─╖║╜─╙║ ",.F.,'B/W+','B/W+','R',.T.,7,0)
@09,22 SAY "╢ Help Error ╟"
@11,22 SAY "Please restore SHELP.REF from disk"
@13,25 SAY "╢ Superhelp Codegen '+superver+' ╟"
INKEY(10)
SETCOLOR(cOldcolor)
SET KEY 28 TO HELP
@nRowhlp,nColhlp SAY ""
RESTSCREEN(0,0,MaxRow(),MaxCol(),cOldscr)
RETURN NIL
ENDIF
USE Helpmgr INDEX Helpmgr NEW
DO WHILE .T.
nBoxSize := IIF(nHlpCnt>15,20,nHlpCnt+6)
nNoFrames := SDROPBX(03,39,nBoxSize,78,"╓─╖║╜─╙║ ",.T.,'B/W+','B/W+','S',.T.,7,0)
@nBoxSize-2,40 SAY REPLICATE("─",38)
@5,39 SAY "╠═"
@5,77 SAY "═╣"
@nBoxSize-2,39 SAY "╟"
@nBoxSize-2,78 SAY "╢"
@nBoxSize-1,40 SAY " Enter - Select Esc - Exit"
DBEDIT(4,41,nBoxSize-3,76,aFldnames,"","",aFldhdrs)
IPLODEBX(nNoFrames)
IF !LASTKEY() == 27
HELPPREP(Helpmgr->POINTER)
DSPHELP()
RESTSCREEN(0,0,24,79,cOldscr)
ELSE
EXIT
ENDIF
ENDDO
USE
SELECT(cOldarea)
SETCOLOR(cOldcolor)
SET KEY 28 TO HELP
SETCURSOR(nCurState)
@nRowhlp,nColhlp SAY ""
RESTSCREEN(0,0,MaxRow(),MaxCol(),cOldscr)
ENDIF
RETURN NIL